namespace YMJake.Flowable.ExternalWorker.Client.Core.Variables;

/// <summary>
/// Represents a date variable in Flowable
/// </summary>
public sealed record DateVariable(DateTime Value) : VariableBase
{
    public override string TypeName => "date";
    public override object RawValue => Value.ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
}

/// <summary>
/// Represents a date-only variable in Flowable (equivalent to Java's LocalDate)
/// </summary>
public sealed record DateOnlyVariable(DateOnly Value) : VariableBase
{
    public override string TypeName => "date";
    public override object RawValue => Value.ToString("yyyy-MM-dd");
}